package com.ruoyi.core.lock;

import lombok.Data;

import java.lang.reflect.Method;
import java.util.Collection;

/**
 * @Author xiaom
 * @Date 2020/3/16 11:28
 * @Version 1.0.0
 * @Description <>
 **/
@Data
public class LockModel {

    /**
     * Original method params model.
     */
    private Object[] originalModels;
    /**
     * Expression string
     */
    private Collection<String> expression;
    /**
     * Params names.
     */
    private String[] paramsNames;
    /**
     * Proxy method classloader
     */
    private Method proxyMethod;

    /**
     * Lock annotation
     */
    private ULock uLock;

    public LockModel(Object[] originalModels, Collection<String> expression, String[] paramsNames, Method proxyMethod) {
        this.originalModels = originalModels;
        this.expression = expression;
        this.paramsNames = paramsNames;
        this.proxyMethod = proxyMethod;
    }
}
